// 自定义 vite 插件
import { getLastCommitMsg } from './last-commit-msg.mjs'

export const lastCommitPlugin = () => {
    return {
        name: 'last-commit-plugin', // 插件名称
        // enforce: 'pre', // 该插件在 plugin-vue 插件之前执行，这样就可以直接解析到原模板文件
        /**
         * 代码转译，这个函数的功能类似于 `webpack` 的 `loader`
         * @param code 代码内容
         * @param id main.ts 文件夹中引入的模块的路径
         */
        transform(code, id) {
            if(id.includes('src/plugin/last-commit-msg/toggle.js')) {
                const msg = getLastCommitMsg()
                const _code = code.replace('__GETCOMMITMSG__',  JSON.stringify(msg))
                return _code
            }

            return null
        }
    }
}